package exercise1;

import java.util.Random;

public class MyThread extends Thread{
    static double money = 100;
    static int count = 3;
    //最小的中奖金额
    static final double MIN = 0.01;    //此时金额变成常量 所以要大写

    @Override
    public void run() {
        synchronized (MyThread.class){
            if (count==0){
                System.out.println(getName()+"没有抢到红包");
            }else {
                //定义一个变量，表示中奖的金额
                double price = 0;
                if (count==1){
                    //表示此时是最后一个红包
                    //无需随机，剩下的所有钱都是中奖金额
                    price = money;
                }else {
                    //第一个  第二个红包
                    //都是随机的
                    Random r = new Random();
                    //确保第一个红包最大金额99.98
                    double bounds = money-(count-1)*MIN;
                    price = r.nextDouble(bounds);  //随机生成金额的范围是[0,bounds)
                    if (price<MIN){
                        //确保生成的金额不是0
                        price = MIN;
                    }
                }
                //从money中减去中奖的金额
                money = money - price;
                //红包的个数也-1
                count--;
                //信息打印
                System.out.println(getName()+"抢到了"+price+"元！！！");
            }
        }
    }
}
